package com.java.yz.day14.ketang;

/*
    登录注册案例,java版不与数据库连接
 */
import java.io.*;
import java.util.Properties;
import java.util.Scanner;
public class LoginRegistrationDemo1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        //创建一个配置文件对象用于读取我们配置文件中的用户名和密码
        // Properties()
        //创建一个没有默认值的空属性列表。
        Properties ppt = new Properties();
        //Properties()是一个文本文件，所以读取的也是也给文本文件
        try {
            ppt.load(new BufferedReader(new FileReader("src/com/java/yz/day14/ketang/userinfo.properties")));
        } catch (IOException e) {
            e.printStackTrace();
        }
        //根据key获取对应的value值
        String une111=ppt.getProperty("username");   //获取它的用户名
        String pwd11=ppt.getProperty("password");  //获取它的密码



        System.out.println("==========欢迎进入大数据平台==========");
        System.out.println("请输入您的用户名：");
        String useName = sc.next();
        System.out.println("请输入您的密码：");
        String usePwd = sc.next();

        if (useName.equals(une111)){  //把配置文件里面的内容与输入的内容进行比较
            if (usePwd.equals(pwd11)){
                System.out.println("欢迎你的登录");
            }
            else {
                System.out.println("您的密码输出错误，请您重新输入");
                boolean flag = true;
                for (int i = 3; i >=1; i--) {
                    System.out.println("您还剩下"+i+"次机会");
                    System.out.println("请输入你的密码");
                    String usePwd1 = sc.next();
                    if (usePwd1.equals(pwd11)){
                        System.out.println("欢迎你的登录");
                        flag =false;
                        return;
                    }
                }
                if (flag){
                    System.out.println("您的三次机会已经用完，请一小时在来重新登录！");
                }
            }
        }
        else {
            System.out.println("您的账号不存在！是否注册（Y/N）");
            String a = sc.next();
            if (a.equals("Y")){
                //注册
                //这里就要创建一个配置文件来存放输入的数据
                /*Properties作为Map集合的使用
                    Properties的特殊功能
                    public Object setProperty(String key,String value)
                    public String getProperty(String key)
                    public Set<String> stringPropertyNames()

                 */
                System.out.println("欢迎您的注册！");
                System.out.println("请输入您的用户名：");
                String minzi = sc.next();
                System.out.println("请输入您的密码：");
                String mima = sc.next();
                BufferedWriter bw =null;
                try {
                    bw = new BufferedWriter(new FileWriter("src/com/java/yz/day14/ketang/userinfo.properties"));
                    //开始把数据写入到配置文件中
                    bw.write("username="+minzi);
                    bw.newLine();
                    bw.write("password="+mima);
                    bw.flush();

                } catch (IOException e) {
                    e.printStackTrace();
                }finally {
                    if (bw != null){
                        try {
                            bw.close();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                }
                System.out.println("注册成功！欢迎您的使用！");
            }
            else if (a.equals("N")){
                System.out.println("谢谢您的使用！");
            }
            else {
                System.out.println("您输入的有误，请重新输入");
                boolean o =true;
                while (o){
                    String n = sc.next();
                    if (n.equals("Y")){
                        System.out.println("欢迎您的注册！");
                        System.out.println("请输入您的用户名：");
                        String minzi = sc.next();
                        System.out.println("请输入您的密码：");
                        String mima = sc.next();
                        BufferedWriter bw =null;
                        try {
                            bw = new BufferedWriter(new FileWriter("src/com/java/yz/day14/ketang/userinfo.properties"));
                            //开始把数据写入到配置文件中
                            bw.write("username="+minzi);
                            bw.newLine();
                            bw.write("password="+mima);
                            bw.flush();

                        } catch (IOException e) {
                            e.printStackTrace();
                        }finally {
                            if (bw != null){
                                try {
                                    bw.close();
                                } catch (IOException e) {
                                    e.printStackTrace();
                                }
                            }
                        }
                        o=false;
                    }else {
                        System.out.println("谢谢您的使用！");
                        o=false;
                    }
                }
            }
        }
    }
}
